package com.bestcem.xm.qdes.controller.vo;

import com.bestcem.xm.component.mybatis.base.BaseEntity2;
import com.bestcem.xm.component.mybatis.format.String2JacksonSerializer;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 模板库-添加模板-问卷项目选项vo
 */
@ApiModel(description = "模板库-添加模板-问卷项目选项vo")
@Data
public class QuestionLibProjectHomePageVo extends BaseEntity2 {

    /**
     * 主键
     */
    @ApiModelProperty("主键")
    private String id;

    /**
     * 公司id
     */
    @JsonProperty(value = "org_id")
    private String orgId;

    /**
     * 问卷id
     */
    @JsonProperty(value = "project_id")
    private String projectId;

    /**
     * 用户id
     */
    @JsonProperty(value = "user_id")
    private String userId;

    /**
     * 问卷标题
     */
    @ApiModelProperty("问卷标题")
    private String title;

    /**
     * 入口类型
     */
    @JsonProperty(value = "category")
    private Integer category;

    /**
     * 项目权限列表
     */
    @JsonSerialize(using = String2JacksonSerializer.class)
    @JsonProperty(value = "permissions")
    private String permissionsArry;

    /**
     * 权限类型
     */
    @JsonProperty(value = "perm_type")
    private Integer permType;

    /**
     * 所属文件夹id
     */
    @JsonProperty(value = "folder_id")
    private String folderId;

    /**
     * 项目状态
     */
    @JsonProperty(value = "status")
    private Integer status;

    /**
     * 项目是否已读状态
     */
    @JsonProperty(value = "badge_status")
    private Integer badgeStatus;

    /**
     * 创建人
     */
    @JsonProperty(value = "creator_id")
    private String creatorId;

    /**
     * 置顶顺序
     */
    @JsonProperty(value = "top_order")
    private Integer topOrder;

    /**
     * 是否拷贝自模板
     */
    @JsonProperty(value = "is_copy_demo")
    private Boolean isCopyDemo;

    /**
     * 是否拷贝已完成
     */
    @JsonProperty("copy_finished")
    private Boolean copyFinished;

    /**
     *
     */
    private Double satisfaction;

    /**
     *
     */
    private Double nps;

    /**
     *
     */
    @JsonProperty(value = "nps_detail_list")
    private List<Double> npsDetailList;

    /**
     * 答卷数
     */
    @JsonProperty(value = "finishedCount")
    private Integer finishedCount;

    /**
     *
     */
    @JsonProperty(value = "survey_finished_list")
    private List<Integer> surveyFinishedList;

    /**
     * 题目数
     */
    @JsonProperty(value = "qCount")
    private Integer qCount;

    /**
     *
     */
    private String creator;
}
